www.gusucode.com > 动网论坛Dvbbs v8.3 > 动网论坛Dvbbs v8.3\code\源程序\admin\Group.asp

    <!--#include file=../conn.asp-->
<!--#include file="inc/const.asp"-->
<!--#include file="inc/ArrayList.asp"-->
<!--#include file="../inc/GroupPermission.asp"-->
<%
Head()
Dim admin_flag
admin_flag=",17,"
CheckAdmin(admin_flag)
Main()
Footer()

Sub Main()
	Select Case Request("action")
	Case "editgroup"
		EditGroup()
	Case "saveusergroup"
		SaveUserGroup()
	Case "savesysgroup"
		SaveSysGroup()
	Case "delusergroup"
		DelUserGroup()
	Case "online"
		GroupOnline()
	Case "saveonline"
		SaveGroupOnline()
	Case Else
		UserGroup()
	End Select
End Sub

Sub UserGroup()
%>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" align=left>&nbsp;操作提示</th>
</tr>
<tr align=left>
<td height="23" class="td1" style="LINE-HEIGHT: 140%">
<li>动网论坛用户组分为系统用户组、特殊用户组、注册用户组、多属性用户组四种类型
<li>系统用户组为内置固定用户组,不能添加,供论坛管理之用,不能随意更改,如删除则会引起论坛运行异常
<li>特殊用户组不随用户等级升降而变更,通常建立来分配给一些对论坛有特殊贡献或操作的人员
<li>多属性用户组不随用户等级升降而变更,该组用户<U>可设置享有多个不同用户组的权限</U>,通常建立来分配给一些对论坛有特殊贡献或操作的人员
<li>注册用户组即为传统的用户等级,每个组(等级)可设定不同的权限
<li>默认权限为添加新的用户组时使用其中一些定义好的权限设置,通常新添加用户组后都要再次定义其权限
</td>
</tr>
<tr align=left>
<td height="23" class="td2" style="LINE-HEIGHT: 140%">
<B>快捷操作</B>:<a href="#1">系统组</a> | <a href="#2">特殊组</a> | <a href="#3">多属性组</a>
 | <a href="#4">Vip用户组管理</a>
| <a href="?action=editgroup&groupid=4">编辑默认组资料</a> | <a href="?action=online">在线图例定制</a>
</td>
</tr>
</table>
<BR>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" colspan="6">注册用户组(等级)管理</th>
</tr>
<tr><td colspan=6 height=25 class="td1">
小提示:点击权限您可以分别设定每个注册用户组(等级)分别拥有不同的论坛权限
</td></tr>
<tr>
<td height="23" width="5%" class=bodytitle><B>组ID</B></td>
<td height="23" width="20%" class=bodytitle><B>用户组(等级)名称</B></td>
<td width="15%" class=bodytitle><B>最少发贴</B></td>
<td width="30%" class=bodytitle><B>组(等级)图片</B></td>
<td height="23" width="10%" class=bodytitle><B>用户数</B></td>
<td width="20%" class=bodytitle><B>操作</B></td>
</tr>
<FORM METHOD=POST ACTION="?action=saveusergroup">
<%
Dim Trs,rs
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID=3 Order By MinArticle")
Do While Not Rs.Eof
%>
<input type=hidden value="<%=rs("UserGroupID")%>" name="usertitleid">
<tr>
<td class=td1 align=center><%=Rs("UserGroupID")%></td>
<td height="23" class=td1><input size=15 value="<%=rs("usertitle")%>" name="usertitle" type=text></td>
<td class=td1><input size=5 value="<%=rs("MinArticle")%>" name="minarticle" type=text></td>
<td class=td1><input size=15 value="<%=rs("grouppic")%>" name="titlepic" type=text><img src="../<%=Dvbbs.Forum_PicUrl%>star/<%=rs("grouppic")%>" border="0"></td>
<td class=td1>
<B><%
Set Trs=Dvbbs.Execute("Select Count(*) From [Dv_User] Where UserGroupID="&Rs("UserGroupID"))
Response.Write Trs(0)
%></B>
</td>
<td class=td1><a href="?action=editgroup&groupid=<%=rs("UserGroupID")%>">编辑</a> | <a href="user.asp?action=userSearch&userSearch=10&usergroupid=<%=rs("usergroupid")%>">列出用户</a> | <a href="?action=delusergroup&id=<%=rs("UserGroupID")%>" onclick="{if(confirm('删除操作将会自动更新一部分用户的等级,并且不可恢复,确定吗?')){return true;}return false;}">删除</a></td>
</tr>
<%
Rs.MoveNext
Loop
Set Rs=Nothing
Set Trs=Nothing
%>
<input type=hidden value="0" name="usertitleid">
<tr>
<td class=td1 align=center><font color=blue>新</font></td>
<td height="23" class=td1><input size=15 value="" name="usertitle" type=text></td>
<td class=td1><input size=5 value="0" name="minarticle" type=text></td>
<td class=td1><input size=15 value="level0.gif" name="titlepic" type=text></td>
<td class=td1>
<B>0</B>
</td>
<td width="20%" class=td1>&nbsp;</td>
</tr>
<tr align=center>
<td colspan=6 height=25 class="td2">
<input type=submit class="button" name=submit value="提交更改">
</td></tr>
</FORM>
</table>
<BR>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" colspan="6">系统用户组管理<a name="1"></a></th>
</tr>
<tr><td colspan=6 height=25 class="td1">
小提示:点击权限您可以分别设定每个系统用户组分别拥有不同的论坛权限,系统组头衔和图标显示在前台用户信息中
</td></tr>
<tr>
<td height="23" width="5%" class=bodytitle><B>组ID</B></td>
<td height="23" width="20%" class=bodytitle><B>系统组头衔</B></td>
<td width="15%" class=bodytitle><B>系统中名称</B></td>
<td height="23" width="30%" class=bodytitle><B>系统组图标</B></td>
<td height="23" width="10%" class=bodytitle><B>用户数</B></td>
<td width="20%" class=bodytitle><B>操作</B></td>
</tr>
<FORM METHOD=POST ACTION="?action=savesysgroup">
<input type=hidden value="1" name="ParentID">
<%
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID=1 Order By UserGroupID")
Do While Not Rs.Eof
%>
<input type=hidden value="<%=rs("UserGroupID")%>" name="usertitleid">
<input value="<%=rs("title")%>" name="title" type=hidden>
<input type=hidden value="<%=rs("IsSetting")%>" name="issetting">
<tr>
<td class=td1 align=center><%=Rs("UserGroupID")%></td>
<td height="23" class=td1><input size=15 value="<%=rs("usertitle")%>" name="usertitle" type=text></td>
<td class=td1><%=Rs("Title")%></td>
<td class=td1><input size=15 value="<%=rs("grouppic")%>" name="titlepic" type=text>
<img src="../<%=Dvbbs.Forum_PicUrl%>star/<%=rs("grouppic")%>" border="0">
</td>
<td class=td1>
<B><%
Set Trs=Dvbbs.Execute("Select Count(*) From [Dv_User] Where UserGroupID="&Rs("UserGroupID"))
Response.Write Trs(0)
%></B>
</td>
<td class=td1><a href="?action=editgroup&groupid=<%=rs("UserGroupID")%>">编辑</a> | <a href="user.asp?action=userSearch&userSearch=10&usergroupid=<%=rs("usergroupid")%>">列出用户</a></td>
</tr>
<%
Rs.MoveNext
Loop
Set Rs=Nothing
Set Trs=Nothing
%>
<tr align=center>
<td colspan=6 height=25 class="td2">
<input type=submit class="button" name=submit value="提交更改">
</td></tr>
</FORM>
</table>

<BR>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" colspan="6">特殊用户组管理<a name="2"></a></th>
</tr>
<tr><td colspan=6 height=25 class="td1">
小提示:点击权限您可以分别设定每个特殊用户组分别拥有不同的论坛权限,通常建立来分配给论坛上比较特殊的用户群体,特殊组头衔和图标显示在前台用户信息中
</td></tr>
<tr>
<td width="5%" class=bodytitle><B>组ID</B></td>
<td height="23" width="15%" class=bodytitle><B>特殊组头衔</B></td>
<td width="15%" class=bodytitle><B>系统中名称</B></td>
<td width="30%" class=bodytitle><B>特殊组图片</B></td>
<td height="23" width="10%" class=bodytitle><B>用户数</B></td>
<td width="20%" class=bodytitle><B>操作</B></td>
</tr>
<FORM METHOD=POST ACTION="?action=savesysgroup">
<input type=hidden value="2" name="ParentID">
<%
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID=2 Order By UserGroupID")
Do While Not Rs.Eof
%>
<input type=hidden value="<%=rs("UserGroupID")%>" name="usertitleid">
<input type=hidden value="<%=rs("IsSetting")%>" name="issetting">
<tr>
<td class=td1 align=center><%=Rs("UserGroupID")%></td>
<td height="23" class=td1><input size=15 value="<%=rs("usertitle")%>" name="usertitle" type=text></td>
<td class=td1><input size=15 value="<%=rs("title")%>" name="title" type=text></td>
<td class=td1><input size=15 value="<%=rs("grouppic")%>" name="titlepic" type=text>
<img src="../<%=Dvbbs.Forum_PicUrl%>star/<%=rs("grouppic")%>" border="0">
</td>
<td class=td1>
<B><%
Set Trs=Dvbbs.Execute("Select Count(*) From [Dv_User] Where UserGroupID="&Rs("UserGroupID"))
Response.Write Trs(0)
%></B>
</td>
<td class=td1><a href="?action=editgroup&groupid=<%=rs("UserGroupID")%>">编辑</a> | <a href="user.asp?action=userSearch&userSearch=10&usergroupid=<%=rs("usergroupid")%>">列出用户</a> | <a href="?action=delusergroup&id=<%=rs("UserGroupID")%>" onclick="{if(confirm('删除操作将会自动更新一部分用户的等级,并且不可恢复,确定吗?')){return true;}return false;}">删除</a></td>
</tr>
<%
Rs.MoveNext
Loop
Set Rs=Nothing
Set Trs=Nothing
%>
<input type=hidden value="0" name="usertitleid">
<input type=hidden value="" name="issetting">
<tr>
<td class=td1 align=center><font color=blue>新</font></td>
<td height="23" class=td1><input size=15 value="" name="usertitle" type=text></td>
<td class=td1><input size=15 value="" name="title" type=text ></td>
<td class=td1><input size=15 value="level0.gif" name="titlepic" type=text></td>
<td class=td1>
<B>0</B>
</td>
<td class=td1>&nbsp;</td>
</tr>
<tr align=center>
<td colspan=6 height=25 class="td2">
<input type=submit class="button" name=submit value="提交更改">
</td></tr>
</FORM>
</table>
<!--
<BR>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" colspan="7">多属性用户组管理<a name="3"></a></th>
</tr>
<tr><td colspan=7 height=25 class="td1">
小提示:点击权限您可以分别设定每个多属性用户组的默认论坛权限,通常建立来分配给论坛上比较特殊的用户群体,多属性组头衔和图标显示在前台用户信息中,多属性用户组的用户可同时拥有多个用户组的权限。<BR><font color=blue>包含组ID请慎重填写,组ID的获取可参考上面的各个组列表,内容用竖线分隔(如:2|8),如果发现不能更新,请仔细检查所填写组ID是否正确</font>
</td></tr>
<tr>
<td width="5%" class=bodytitle><B>组ID</B></td>
<td height="23" width="13%" class=bodytitle><B>多属性组头衔</B></td>
<td width="10%" class=bodytitle><B>系统中名称</B></td>
<td width="17%" class=bodytitle><B>包含组ID</B></td>
<td width="28%" class=bodytitle><B>多属性组图片</B></td>
<td height="23" width="8%" class=bodytitle><B>用户数</B></td>
<td width="25%" class=bodytitle><B>操作</B></td>
</tr>
<FORM METHOD=POST ACTION="?action=savesysgroup">
<input type=hidden value="4" name="ParentID">
<%
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID=4 Order By UserGroupID")
Do While Not Rs.Eof
%>
<input type=hidden value="<%=rs("UserGroupID")%>" name="usertitleid">
<tr>
<td class=td1 align=center><%=Rs("UserGroupID")%></td>
<td height="23" class=td1><input size=15 value="<%=rs("usertitle")%>" name="usertitle" type=text></td>
<td class=td1><input size=15 value="<%=rs("title")%>" name="title" type=text></td>
<td class=td1><input size=15 value="<%=rs("IsSetting")%>" name="issetting" type=text> *</td>
<td class=td1><input size=15 value="<%=rs("grouppic")%>" name="titlepic" type=text>
<img src="../<%=Dvbbs.Forum_PicUrl%>star/<%=rs("grouppic")%>" border="0">
</td>
<td class=td1>
<B><%
Set Trs=Dvbbs.Execute("Select Count(*) From [Dv_User] Where UserGroupID="&Rs("UserGroupID"))
Response.Write Trs(0)
%></B>
</td>
<td class=td1><a href="?action=editgroup&groupid=<%=rs("UserGroupID")%>">编辑</a> | <a href="user.asp?action=userSearch&userSearch=10&usergroupid=<%=rs("usergroupid")%>">列出用户</a> | <a href="?action=delusergroup&id=<%=rs("UserGroupID")%>" onclick="{if(confirm('删除操作将会自动更新一部分用户的等级,并且不可恢复,确定吗?')){return true;}return false;}">删除</a></td>
</tr>
<%
Rs.MoveNext
Loop
Set Rs=Nothing
Set Trs=Nothing
%>
<input type=hidden value="0" name="usertitleid">
<tr>
<td class=td1 align=center><font color=blue>新</font></td>
<td height="23" class=td1><input size=15 value="" name="usertitle" type=text></td>
<td class=td1><input size=15 value="" name="title" type=text ></td>
<td class=td1><input size=15 value="" name="issetting" type=text> *</td>
<td class=td1><input size=15 value="level0.gif" name="titlepic" type=text></td>
<td class=td1>
<B>0</B>
</td>
<td class=td1>&nbsp;</td>
</tr>
<tr align=center>
<td colspan=7 height=25 class="td2">
<input type=submit class="button" name=submit value="提交更改">
</td></tr>
</FORM>
</table>
<BR>
//-->
<%
Dim FoundVipGroup
FoundVipGroup = False
%>
<BR>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" colspan="6">Vip用户组管理<a name="4"></a></th>
</tr>
<tr><td colspan=6 height=25 class="td1">
小提示:VIP用户将有权限限期控制,当该用户的使用权限过期,系统将会自动将会员转到默认注册组。
</td></tr>
<tr>
<td width="5%" class=bodytitle><B>组ID</B></td>
<td height="23" width="15%" class=bodytitle><B>特殊组头衔</B></td>
<td width="15%" class=bodytitle><B>系统中名称</B></td>
<td width="30%" class=bodytitle><B>特殊组图片</B></td>
<td height="23" width="10%" class=bodytitle><B>用户数</B></td>
<td width="20%" class=bodytitle><B>操作</B></td>
</tr>
<FORM METHOD=POST ACTION="?action=savesysgroup">
<input type=hidden value="5" name="ParentID">
<%
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID=5 Order By UserGroupID")
Do While Not Rs.Eof
FoundVipGroup = True
%>
<input type=hidden value="<%=rs("UserGroupID")%>" name="usertitleid">
<input type=hidden value="<%=rs("IsSetting")%>" name="issetting">
<tr>
<td class=td1 align=center><%=Rs("UserGroupID")%></td>
<td height="23" class=td1><input size=15 value="<%=rs("usertitle")%>" name="usertitle" type=text></td>
<td class=td1><input size=15 value="<%=rs("title")%>" name="title" type=text></td>
<td class=td1><input size=15 value="<%=rs("grouppic")%>" name="titlepic" type=text>
<img src="../<%=Dvbbs.Forum_PicUrl%>star/<%=rs("grouppic")%>" border="0">
</td>
<td class=td1>
<B><%
Set Trs=Dvbbs.Execute("Select Count(*) From [Dv_User] Where UserGroupID="&Rs("UserGroupID"))
Response.Write Trs(0)
%></B>
</td>
<td class=td1><a href="?action=editgroup&groupid=<%=rs("UserGroupID")%>">编辑</a> | <a href="user.asp?action=userSearch&userSearch=10&usergroupid=<%=rs("usergroupid")%>">列出用户</a> | <a href="?action=delusergroup&id=<%=rs("UserGroupID")%>" onclick="{if(confirm('删除后VIP用户将失去相关的VIP权限,并且不可恢复,确定吗?')){return true;}return false;}">删除</a></td>
</tr>
<%
Rs.MoveNext
Loop
Set Rs=Nothing
Set Trs=Nothing
%>
<input type=hidden value="0" name="usertitleid">
<input type=hidden value="" name="issetting">
<%
If Not FoundVipGroup Then
%>
<tr>
<td class=td1 align=center><font color=blue>新</font></td>
<td height="23" class=td1><input size=15 value="" name="usertitle" type=text></td>
<td class=td1><input size=15 value="Vip用户组" name="title" type=text ></td>
<td class=td1><input size=15 value="level0.gif" name="titlepic" type=text></td>
<td class=td1>
<B>0</B>
</td>
<td class=td1>&nbsp;</td>
</tr>
<%
Else
%>
<input size=15 value="" name="usertitle" type=hidden>
<input size=15 value="Vip用户组" name="title" type=hidden>
<input size=15 value="level0.gif" name="titlepic" type=hidden>
<%
End If
%>
<tr align=center>
<td colspan=6 height=25 class="td2">
<input type=submit class="button" name=submit value="提交更改">
</td></tr>
</FORM>
</table>
<br/>
<%
End Sub

'保存注册用户组(等级)批量更改信息
Sub SaveUserGroup()
	Server.ScriptTimeout=99999999
	Dim UserTitleID,UserTitle,MinArticle,TitlePic,i,rs
	For i=1 To Request.Form("usertitleid").Count
		UserTitleID=Replace(Request.Form("usertitleid")(i),"'","")
		UserTitle=Replace(Request.Form("usertitle")(i),"'","")
		MinArticle=Replace(Request.Form("minarticle")(i),"'","")
		TitlePic=Replace(Request.Form("titlepic")(i),"'","")
		If IsNumeric(UserTitleID) And UserTitle<>"" And IsNumeric(MinArticle) And TitlePic<>"" Then
			Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID=3 And UserGroupID="&UserTitleID)
			If Not (Rs.Eof And Rs.Bof) Then
				If Rs("UserTitle")<>Trim(UserTitle) Or Rs("GroupPic")<>Trim(TitlePic) Then
					Dvbbs.Execute("Update [Dv_User] Set UserClass='"&UserTitle&"',TitlePic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
				End If
				Dvbbs.Execute("Update Dv_UserGroups Set UserTitle='"&UserTitle&"',MinArticle="&MinArticle&",GroupPic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
			End If
			'新加入用户组(等级)
			If Clng(UserTitleID) = 0 Then
				Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where UserGroupID=4")
				Dvbbs.Execute("Insert Into Dv_UserGroups (Title,UserTitle,GroupSetting,Orders,MinArticle,TitlePic,GroupPic,ParentGID) Values ('"&Rs("Title")&"','"&UserTitle&"','"&Rs("GroupSetting")&"',0,"&MinArticle&",'"&Rs("TitlePic")&"','"&TitlePic&"',3)")
			End If
		End If
	Next
	Dv_suc("批量更新用户组(等级)资料成功!")
	Set Rs=Nothing
	Dvbbs.LoadGroupSetting
End Sub

'保存系统、特殊、多属性用户组批量更改信息
Sub SaveSysGroup()
	Server.ScriptTimeout=99999999
	Dim UserTitleID,UserTitle,TitlePic,ParentID,Title,IsSetting,FoundIsSetting,mIsSetting,GroupIDList,k,rs,sql,i
	SQL = "Select UserGroupID From Dv_UserGroups"
	Set Rs = Dvbbs.Execute(SQL)
		GroupIDList = Rs.GetString(,, "", ",", "")
	Rs.close
	Set Rs = Nothing
	GroupIDList = "," & GroupIDList
	GroupIDList = Replace(GroupIDList,",","|")
	ParentID = Request.Form("ParentID")
	If Not IsNumeric(ParentID) Or ParentID="" Then
		Errmsg = ErrMsg + "<BR><li>非法的用户组参数。"
		Dvbbs_Error()
		Exit Sub
	End If
	ParentID = Cint(ParentID)
	FoundIsSetting = True
	For i=1 To Request.Form("usertitleid").Count
		UserTitleID=Replace(Request.Form("usertitleid")(i),"'","")
		UserTitle=Replace(Request.Form("usertitle")(i),"'","")
		Title=Replace(Request.Form("title")(i),"'","")
		TitlePic=Replace(Request.Form("titlepic")(i),"'","")
		IsSetting=Replace(Request.Form("issetting")(i),"'","")
		If IsNumeric(UserTitleID) And UserTitle<>"" And TitlePic<>"" Then
			Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where ParentGID="&ParentID&" And UserGroupID="&UserTitleID)
			If Not (Rs.Eof And Rs.Bof) Then
				If Rs("UserTitle")<>Trim(UserTitle) Or Rs("GroupPic")<>Trim(TitlePic) Then
					Dvbbs.Execute("Update [Dv_User] Set UserClass='"&UserTitle&"',TitlePic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
				End If
			End If
			If ParentID = 4 And Trim(IsSetting)<>"" Then
				mIsSetting = Split(IsSetting,"|")
				For k = 0 To Ubound(mIsSetting)
					'多属性用户组,填写的UserGroupID不存在则不更新
					If InStr(GroupIDList,"|" & mIsSetting(k) & "|") = 0 Then
						FoundIsSetting = False
						Exit For
					End If
				Next
				If FoundIsSetting Then
					Dvbbs.Execute("Update Dv_UserGroups Set Title='"&Title&"',UserTitle='"&UserTitle&"',GroupPic='"&TitlePic&"',IsSetting='"&IsSetting&"' Where UserGroupID="&UserTitleID)
					'新加入用户组
					If Clng(UserTitleID) = 0 Then
						Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where UserGroupID=4")
						Dvbbs.Execute("Insert Into Dv_UserGroups (Title,UserTitle,GroupSetting,Orders,MinArticle,TitlePic,GroupPic,ParentGID,IsSetting) Values ('"&Title&"','"&UserTitle&"','"&Rs("GroupSetting")&"',0,0,'"&Rs("TitlePic")&"','"&TitlePic&"',"&ParentID&",'"&IsSetting&"')")
					End If
				Else
					Dvbbs.Execute("Update Dv_UserGroups Set Title='"&Title&"',UserTitle='"&UserTitle&"',GroupPic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
				End If
				FoundIsSetting = True
			Else
				Dvbbs.Execute("Update Dv_UserGroups Set Title='"&Title&"',UserTitle='"&UserTitle&"',GroupPic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
				'新加入用户组
				If Clng(UserTitleID) = 0 Then
					Dim tGroupSetting	'修正下标越界,轻飘飘
					Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where UserGroupID=4")
					tGroupSetting=Rs("GroupSetting")
					tGroupSetting=Split(tGroupSetting,",")
					tGroupSetting(71)="0§0§0§0"
					tGroupSetting=Join(tGroupSetting,",")
					Dvbbs.Execute("Insert Into Dv_UserGroups (Title,UserTitle,GroupSetting,Orders,MinArticle,TitlePic,GroupPic,ParentGID) Values ('"&Title&"','"&UserTitle&"','"&Rs("GroupSetting")&"',0,0,'"&Rs("TitlePic")&"','"&TitlePic&"',"&ParentID&")")
				End If
			End If
		End If
	Next
	Dvbbs.LoadGroupSetting():iGroupSetting_UserName()
	Dv_suc("批量用户组资料成功!")
	Set Rs=Nothing
End Sub

'删除注册用户组(等级)信息
Sub DelUserGroup()
	Dim UserTitleID,tRs,rs
	UserTitleID = Request("id")
	If Not IsNumeric(UserTitleID) Or UserTitleID = "" Then
		Errmsg = ErrMsg + "<BR><li>请指定要删除的用户组(等级)。"
		Dvbbs_Error()
		Exit Sub
	End If
	UserTitleID = Clng(UserTitleID)
	'检测用户组是否存在以及取得临近用户组的信息
	'如果用户组为特殊、多属性组,则更新其用户信息为最低等级,用户登陆后会自动重新更新
	Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Where (Not ParentGID=1) And UserGroupID = " & UserTitleID)
	If Rs.Eof And Rs.Bof Then
		Errmsg = ErrMsg + "<BR><li>指定要删除的用户组(等级)不存在。"
		Dvbbs_Error()
		Exit Sub
	ElseIf Not Rs("UserGroupID") = 8 And Rs("ParentGID") = 2 Then
		'删除特殊用户组(等级)之判断 2005-4-9 Dv.Yz
		Set tRs = Dvbbs.Execute("SELECT TOP 1 * FROM Dv_UserGroups WHERE ParentGID = 3 ORDER BY MinArticle Desc")
		If tRs.Eof And tRs.Bof Then
			Errmsg = ErrMsg + "<BR><li>注册用户组(等级)为空,不能删除,请先添加至少一个注册用户组(等级)。"
			Dvbbs_Error()
			Exit Sub
		Else
			Dvbbs.Execute("UPDATE Dv_User SET UserClass = '" & tRs("UserTitle") & "', TitlePic = '" & tRs("GroupPic") & "', UserGroupID = " & tRs("UserGroupID") & " WHERE UserGroupID = " & UserTitleID)
			Dvbbs.Execute("DELETE FROM Dv_UserGroups WHERE UserGroupID = " & UserTitleID)
		End If
	Else
		Set tRs=Dvbbs.Execute("Select Top 1 * From Dv_UserGroups Where ParentGID=3 And (Not UserGroupID="&UserTitleID&") And MinArticle<="&Rs("MinArticle")&" Order By MinArticle Desc")
		If tRs.Eof And tRs.Bof Then
			Errmsg = ErrMsg + "<BR><li>该用户组(等级)为最后一个注册用户组,不能删除。"
			Dvbbs_Error()
			Exit Sub
		Else
			Dvbbs.Execute("Update Dv_User Set UserClass='"&tRs("UserTitle")&"',TitlePic='"&tRs("GroupPic")&"',UserGroupID="&tRs("UserGroupID")&" Where UserGroupID="&UserTitleID)
			Dvbbs.Execute("Delete From Dv_UserGroups Where UserGroupID = " & UserTitleID)
		End If
		Set tRs=Nothing
	End If
Dvbbs.LoadGroupSetting():iGroupSetting_UserName()
	Dv_suc("用户组(等级)资料删除成功!")
	Set Rs=Nothing
End Sub
Function GetUserGroup() 'Add By reoaiq at 090926
Dim Rs_G
Set Rs_G=Dvbbs.Execute("Select UserGroupID,Title,UserTitle From Dv_UserGroups where ParentGid>0  Order by ParentGid,UserGroupID")
If Not Rs_G.eof Then
	GetUserGroup=Rs_G.GetRows(-1)
	Rs_G.close:Set Rs_G = Nothing
Else
	Exit Function
End If
End Function 

Sub SaveGroup(groupid) 'Add By reoaiq at 090926 Start
Dim i,CheckBoxList,CheckBoxList2,CheckBoxList3
Dim Rs
Dim GroupSetting,GroupSetting58,GroupSetting71
Dim GroupSetting_Arr
Dim GroupSetting_ArrayList
Set Rs=Dvbbs.Execute("select groupsetting from dv_usergroups where Usergroupid="&groupid&"")
If Rs.eof Then 
	Errmsg=ErrMsg + "<BR><li>查询数据不存在。"
	dvbbs_error()
	exit Sub
Else 
	GroupSetting=Rs(0)
	GroupSetting_Arr=Split(GroupSetting,",")
End If 
Rs.Close:Set Rs=Nothing 
Set GroupSetting_ArrayList=new ArrayList
For i=0 To 74
	If Request("CheckGroupSetting("&i&")")="on" Then 
	CheckBoxList=CheckBoxList&i&","
	End If 
Next 
i=0
CheckBoxList2=Split(CheckBoxList,",")
For i=0 To UBound(CheckBoxList2)-1
	If i=UBound(CheckBoxList2)-1 Then 
	CheckBoxList3=CheckBoxList3&CheckBoxList2(i)
	Else 
	CheckBoxList3=CheckBoxList3&CheckBoxList2(i)&","
	End If 
Next
i=0
If Request("CheckGroupPic")="on" Then 
		Dim title,grouppic
		title=Dvbbs.CheckStr(Request("title"))
		grouppic=Dvbbs.CheckStr(Request("grouppic"))	
End If 
Rem Fish 2010-2-1,定时设置用户组读写
Dim TyClsGroupM,TyClsGroup
If Request("ChkTyClsGroup")="on" Then 
	TyClsGroup=Dvbbs.CheckStr(Request("TyClsGroup"))
	TyClsGroupM = Request("TyClsGroupM0")
	For i = 1 to 23
		TyClsGroupM = TyClsGroupM & "|" & Request("TyClsGroupM"&i)
	Next
	i=0
	TyClsGroupM=Dvbbs.CheckStr(TyClsGroupM)
	'Response.write TyClsGroupM:exit sub
	if TyClsGroup<>"0" and TyClsGroupM="" then
		Errmsg = ErrMsg + "<BR><li>您没有选择设置该用户组访问权限的具体时间。" 
		Dvbbs_Error()
		Exit Sub
	end if
End If 
If CheckBoxList3="" And grouppic="" And TyClsGroup="" Then 
		Errmsg = ErrMsg + "<BR><li>未选中任何设置。"
		Dvbbs_Error()
		Exit Sub
Else 
		If grouppic<>"" Then 
		Dvbbs.Execute("Update Dv_Usergroups set UserTitle='"&title&"',grouppic='"&grouppic&"' where usergroupid="&Dvbbs.CheckStr(Request("groupid"))&"")
		End If
		Rem Fish
		If TyClsGroup<>"" Then 
		Dvbbs.Execute("Update Dv_Usergroups set TyClsGroup="&TyClsGroup&",TyClsGroupM='"&TyClsGroupM&"' where usergroupid="&Dvbbs.CheckStr(groupid)&"")
		End If
		If CheckBoxList3<>"" Then 
			GroupSetting_ArrayList.AddArray(GroupSetting_Arr)
			CheckBoxList3=Split(CheckBoxList3,",")
			For Each i In 	CheckBoxList3
				If i=58 Then 
					If Request("CheckGroupSetting(58)")="on" Then 
					GroupSetting58=Replace(Dvbbs.CheckStr(Request("GroupSetting(58)A")&"§"&Request("GroupSetting(58)B")),",","")
					End If 
				End If 
				If i=71 Then 
					If Request("CheckGroupSetting(71)")="on" Then 
					GroupSetting71=Replace(Dvbbs.CheckStr(Request("GroupSetting(71)A")&"§"&Request("GroupSetting(71)B")&"§"&Request("GroupSetting(71)C")&"§"&Request("GroupSetting(71)D")),",","")
					End If 
				End If 
				GroupSetting_ArrayList.Update i,Replace(Dvbbs.CheckStr(CLng(Request("GroupSetting("&i&")"))),",","")
			Next 		
			If GroupSetting58<>"" Then 
			GroupSetting_ArrayList.Update 58,GroupSetting58
			End If 
			If GroupSetting71<>"" Then 
			GroupSetting_ArrayList.Update 71,GroupSetting71
			End If 
			GroupSetting=GroupSetting_ArrayList.Implode(",")
			Dvbbs.Execute("update dv_usergroups set groupsetting='"&GroupSetting&"' where usergroupid="&groupid&"")
		End If 
End If 
Set GroupSetting_ArrayList=Nothing 
End Sub  'Add By reoaiq at 090926 End



Sub EditGroup()
Dim i
	If Not IsNumeric(Replace(Request("groupid"),",","")) Then
		Errmsg = ErrMsg + "<BR><li>请选择对应的用户组。"
		Dvbbs_Error()
		Exit Sub
	End If
	If Request("groupaction")="yes" Then
	    'add by reoaiq at 090927 Start
		Dim usergroup_arr,usergroupid 
	    usergroup_arr=Split(Dvbbs.CheckStr(request("Select_groupid")),",")
		For Each usergroupid In usergroup_arr
		SaveGroup usergroupid
		Next 
		Dv_suc("用户组(等级)资料修改成功!")
		Dvbbs.LoadGroupSetting():iGroupSetting_UserName()
		'add by reoaiq at 090927 End
	Else
		Dim reGroupSetting,Rs
		Set Rs=Dvbbs.Execute("Select * From Dv_Usergroups Where UserGroupID="&Cint(Request("groupid")))
		If Rs.Eof And Rs.Bof Then
			Errmsg = ErrMsg + "<BR><li>未找到该用户组!"
			Dvbbs_Error()
			Exit Sub
		End If
		reGroupSetting=Split(Rs("GroupSetting"),",")
%>
<FORM METHOD=POST ACTION="?action=editgroup" name="TheForm">
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr>
<th style="text-align:center;" colspan="5">
论坛用户组权限设置
</th>
</tr>
<tr><td colspan=5 height=25 class="td1"><B>说明</B>:
<BR>①在这里您可以设置各个用户组(等级)在论坛中的默认权限;
<BR>②可以删除和编辑新添加的用户组;
<BR>③<font color="red">在更新多个用户组设置时,请选取最左边的复选表单,只有选取的设置项目才会更新;</font>
<BR>④不执行多用户组更新时,不需要选取左边的用户组列表。
</td></tr>
<tr><td rowspan="800" valign="top">
应用用户组保存选项<BR>
请按 CTRL 键多选<BR>
<%
Dim GroupArr
GroupArr=GetUserGroup()
%>
<SELECT NAME="select_groupid" style="width:200" multiple size="<%=Ubound(GroupArr,2)+1%>">
<%
For i=0 To Ubound(GroupArr,2)
%>
<option value="<%=GroupArr(0,i)%>" <%If CLng(Dvbbs.CheckStr(Request("groupid")))=GroupArr(0,i) Then Response.Write "Selected"%>> <%=GroupArr(1,i)%>--<%=GroupArr(2,i)%></option>
<%
Next
%>
</SELECT>
</td></tr>



<tr><td colspan=5 height=25 class="td1">
<b>设置功能</b>:
[<a href="#setting1">编辑用户组(等级)资料信息</a>] 
[<a href="#setting2">浏览相关选项</a>] 
[<a href="#setting3">发帖权限</a>] 
[<a href="#setting4">帖子/主题编辑权限</a>] 
[<a href="#setting5">上传权限设置</a>] 
[<a href="#setting6">管理权限</a>] 
[<a href="#setting7">短信权限</a>] 
[<a href="#setting8">其他权限</a>] 
[<a href="#setting9">重要权限设置</a>] 
</td></tr>
<tr>
<th style="text-align:center;" colspan="5" align=left>
<a name="setting1"></a>
<INPUT TYPE="checkbox" class="checkbox" NAME="chkall" onclick="CheckAll(this.form);">[全选]
编辑用户组(等级)资料信息
</th>
</tr>
<tr><td colspan=5 height=25 class="bodytitle">
<B><a href="?">用户组(等级)管理</a> >> <%=SysGroupName(Rs("ParentGID"))%></B>
<%=Rs("UserTitle")%>
<input name="groupid" type="hidden" value="<%=Request("groupid")%>">
</td></tr>
<tr>
<td width="1%" class=td1>&nbsp;</td>
<td height="23" width="40%" class=td1>用户组(等级)名称</td>
<td height="23" class=td1 colspan=2><input size=35 name="title" type=text value="<%=Rs("UserTitle")%>"></td>
</tr>
<tr>
<td width="1%" class=td1><INPUT TYPE="checkbox" class="checkbox" NAME="CheckGroupPic"></td>
<td height="23" class=td1>用户组(等级)图片</td>
<td height="23"class=td1 colspan=2><input size=35 name="grouppic" type=text value="<%=rs("grouppic")%>"></td>
</tr>
<!--定时开关,Dv.Fish 2010-2-1 -->
<tr> 
<td width="1%" class=td1><INPUT TYPE="checkbox" class="checkbox" NAME="ChkTyClsGroup"></td>
<td class=td1>论坛定时设置</td>
<td class=td1>
<input type=radio class="radio" name="TyClsGroup" value="0" <%If rs("TyClsGroup")="0" or isnull(rs("TyClsGroup")) Then %>checked <%End If%>>关 闭</option>
<input type=radio class="radio" name="TyClsGroup" value="1" <%If rs("TyClsGroup")="1" Then %>checked <%End If%>>定时关闭</option>
<input type=radio class="radio" name="TyClsGroup" value="2" <%If rs("TyClsGroup")="2" Then %>checked <%End If%>>定时只读</option>
</td>
<input type="hidden" id="b10" value="<b>定时设置选择:</b><br><li>在这里您可以设置是否起用定时的各种功能,如果开启了本功能,请设置好下面选项中的论坛设置时间,论坛该版面将在您规定的时间内有指定的设置">
<td class=td2><a href=# onclick="helpscript(b10);return false;" class="helplink"><img src="../images/help.gif" border=0 title="点击查阅管理帮助!"></a></td>
</tr>
<tr> 
<td width="1%" class=td1><INPUT TYPE="checkbox" class="checkbox" NAME="ChkTyClsGroupM"></td>
<td colspan=1 class=td1>
定时设置<BR>请根据需要选择开或关</td></td>
<td colspan=1 class=td1>
<%
Rem 新增两字段 TyClsGroup 及 TyClsGroupM  by 动网.小易
Dim TyClsGroupM
TyClsGroupM=rs("TyClsGroupM")
If instr(TyClsGroupM,"|")=0 or IsNull(TyClsGroupM) then TyClsGroupM="|"
TyClsGroupM=split(TyClsGroupM,"|")

If UBound(TyClsGroupM)<2 Then 
	TyClsGroupM="1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1"
	TyClsGroupM=split(TyClsGroupM,"|")
End If
For i= 0 to UBound(TyClsGroupM)
If i<10 Then Response.Write "&nbsp;"
%>
 <%=i%>点:<input type="checkbox" class="checkbox" name="TyClsGroupM<%=i%>" value="1" <%If TyClsGroupM(i)="1" Then %>checked<%End If%>>开
   
 <%
 If (i+1) mod 4 = 0 Then Response.Write "<br>"
 Next
 %>
</td>
<input type="hidden" id="b11" value="<b>论坛开放时间</b><br><li>设置了本选项必须同时打开是否起用定时开关论坛设置才有效,设置了此选项,论坛该版面将在您规定的时间内给用户开放">
<td class=td2><a href=# onclick="helpscript(b11);return false;" class="helplink"><img src="../images/help.gif" border=0 title="点击查阅管理帮助!"></a></td>
</tr>
<!--定时开关,Dv.Fish 2010-2-1 end-->
<%
GroupPermission(rs("GroupSetting"))
Dim test
test=Split(rs("GroupSetting"),",")

%>
<input type=hidden value="yes" name="groupaction">
</FORM>
</table>
<%
		Set Rs=Nothing
	End If
End Sub

Sub GroupOnline()
%>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" align=left>操作提示</th>
</tr>
<tr align=left>
<td height="23" class="td1" style="LINE-HEIGHT: 140%">
<li>可以给每个用户组分别定制其在线图例图片,该图片显示于用户在线列表的用户名前面,<B>图片路径为风格模板中所定义路径</B>
<li>排序为 0 则不显示于首页在线图例说明中,排序大于 0 则按序显示于首页的在线图例说明中
</td>
</tr>
<tr align=left>
<td height="23" class="td2" style="LINE-HEIGHT: 140%">
<B>快捷操作</B>: <a href="?">用户组管理首页</a> | <a href="?#1">系统组</a> | <a href="?#2">特殊组</a> | <a href="?#3">多属性组</a> | <a href="?action=editgroup&groupid=4">编辑默认组资料</a>
</td>
</tr>
</table>
<BR>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr> 
<th style="text-align:center;" align=left colspan=3>用户组在线图例管理</th>
</tr>
<tr> 
<td width="20%" class=bodytitle><B>组名称</B></td>
<td height="23" width="10%" class=bodytitle><B>排序</B></td>
<td width="*" class=bodytitle><B>组图例</B></td>
</tr>
<FORM METHOD=POST ACTION="?action=saveonline">
<%
Dim rs
Set Rs=Dvbbs.Execute("Select * From Dv_UserGroups Order By ParentGID,UserGroupID")
Do While Not Rs.Eof
%>
<input type=hidden value="<%=rs("UserGroupID")%>" name="usertitleid">
<tr align=left>
<td height="23" class="td1">
<%=Rs("UserTitle")%>
</td>
<td height="23" class="td1">
<Input type=text size=5 name="Orders" value="<%=Rs("Orders")%>">
</td>
<td height="23" class="td1">
<Input type=text size=20 name="TitlePic" value="<%=Rs("TitlePic")%>">
<img src="../<%=Dvbbs.Forum_PicUrl%><%=rs("TitlePic")%>" border="0">
<%
If Rs("ParentGID")=0 Then Response.Write "修改注册用户组名称请点击 <a href=""?action=editgroup&groupid=4"">编辑默认组资料</a>"
%>
</td>
</tr>
<%
Rs.MoveNext
Loop
Rs.Close
Set Rs=Nothing
%>
<tr align=center>
<td colspan=3 height=25 class="td2">
<input type=submit class="button" name=submit value="提交更改">
</td></tr>
</FORM>
</table>
<BR>
<%
End Sub

Sub iGroupSetting_UserName()
	Dvbbs.Name="GroupSetting_UserName"
	Dim i,Str,OutputStr,Outputvalue
	Dim Rs,SQL
	SQL = "Select UserGroupID,GroupSetting From [Dv_UserGroups] order by UserGroupID"
	Set Rs = Dvbbs.Execute(SQL)
	Do while not Rs.Eof
		Str = Str & Rs(0) &","& Split(Rs(1),",")(58)
		Str = Str & "|||"
	Rs.MoveNext
	Loop
	Rs.Close : Set Rs = Nothing
	Dvbbs.value = Left(str,Len(str)-3)
	Str = Split(Dvbbs.value,"|||")
	For i=0 to Ubound(Str)
		OutputStr = Split(Str(i),",")
		Outputvalue = Outputvalue & "GroupUserName["&OutputStr(0)&"]='"&Replace(Replace(Replace(Replace(OutputStr(1),"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"")&"';"
	Next
	Dvbbs.value = "var GroupUserName = new Array(); " & Outputvalue
End Sub

Sub SaveGroupOnline()
	Dim UserTitleID,Orders,TitlePic,i,rs
	For i=1 To Request.Form("usertitleid").Count
		UserTitleID=Dvbbs.CheckNumeric(Request.Form("usertitleid")(i))
		Orders=Dvbbs.CheckNumeric(Request.Form("Orders")(i))
		TitlePic=Dvbbs.CheckStr(Request.Form("TitlePic")(i))
		Dvbbs.Execute("Update Dv_UserGroups Set Orders="&Orders&",TitlePic='"&TitlePic&"' Where UserGroupID="&UserTitleID)
	Next
	Dv_suc("批量更新用户组在线图例资料成功!")
	Set Rs=Nothing
	Dvbbs.LoadGroupSetting():iGroupSetting_UserName()
End Sub

Sub iGroupSetting_UserName()
	Dvbbs.Name="GroupSetting_UserName"
	Dim i,Str,OutputStr,Outputvalue
	Dim Rs,SQL
	SQL = "Select UserGroupID,GroupSetting From [Dv_UserGroups] order by UserGroupID"
	Set Rs = Dvbbs.Execute(SQL)
	Do while not Rs.Eof
		Str = Str & Rs(0) &","& Split(Rs(1),",")(58)
		Str = Str & "|||"
	Rs.MoveNext
	Loop
	Rs.Close : Set Rs = Nothing
	Dvbbs.value = Left(str,Len(str)-3)
	Str = Split(Dvbbs.value,"|||")
	For i=0 to Ubound(Str)
		OutputStr = Split(Str(i),",")
		Outputvalue = Outputvalue & "GroupUserName["&OutputStr(0)&"]='"&Replace(Replace(Replace(Replace(OutputStr(1),"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"")&"';"
	Next
	Dvbbs.value = "var GroupUserName = new Array(); " & Outputvalue
End Sub
%>